Flexible Feature Binding with AspectJ-based Idioms

نویسندگان

  • Rodrigo Andrade
  • Henrique Rebêlo
  • Márcio Ribeiro
  • Paulo Borba
چکیده

In Software Product Lines (SPL), we can bind reusable features to compose a product at different times, which in general are static or dynamic. The former allows customizability without any overhead at runtime. On the other hand, the latter allows feature activation or deactivation while running the application with the cost of performance and memory consumption. To implement features, we might use aspect-oriented programming (AOP), in which aspects enable a clear separation between invariable code and variable code. In this context, recent work provides AspectJ-based idioms to implement flexible feature binding. However, we identified some design deficiencies. Thus, to solve the issues of these idioms, we incrementally create three AspectJ-based idioms. We apply these idioms to provide flexible binding for 16 features from five different product lines. Moreover, to evaluate our idioms, we quantitatively analyze them with respect to code cloning, scattering, tangling, and size by means of software metrics. Besides that, we qualitatively discuss our idioms in terms of code reusability, changeability, instrumentation overhead, behavior, and feature interaction. In conclusion, we show evidences that our idioms address the issues of those existing ones.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Sequence of Patterns for Reusable Aspect Libraries with Easy Configuration

Using well-known AspectJ idioms has been shown to increase the reusability of aspect libraries. Availability of such reusable libraries is an important motivating factor to drive the further adoption of AspectJ in industry and aspect-oriented-programming in general. Existing work, however, mostly presents the existing AspectJ idioms as relatively independent solutions. As experience grows in us...

متن کامل

AspectJ Idioms for Aspect-Oriented Software Construction

For concrete usage scenarios there are different options of how to use AspectJ's language features, and these options deeply impact the chances for further evolution of both base classes and aspects. Aspects can use aspect-oriented as well as object-oriented features. The combination of these mechanisms provides new powerful mechanisms. Idioms can help in guiding AspectJ users through this fron...

متن کامل

Idioms for Building Software Frameworks in AspectJ

Building applications using AspectJ means to design applications build upon the new language features offered in addition to Java. The usual argumentation that AspectJ permits a better separation of concerns in contrast to the traditional static typed objectoriented code might be valid, but does not prevent developers to misuse these language features. What's needed is a discussions of how to a...

متن کامل

Implementing Known Concepts in AspectJ

AspectJ is a so-called general-purpose aspect-language which tries to solve the problem of crosscutting code. An often uttered criticism of AspectJ is that there is no underlying concept in the implemented language features and that those features are rather arbitrary chosen instead of being based on any theoretical foundations. This paper shows beyond the the context of crosscutting and tangli...

متن کامل

Patterns and an Antiidiom for Aspect Oriented Programming

There are many different options when using AOP tools or languages to solve similar problems. Modern AOP languages offer new features and design ideas, through the combination of object and aspect oriented features. Patterns are therefore required to guide AOP developers and architects around the common pitfalls and unleash the power of Aspect Oriented Programming. This paper describes three pa...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • J. UCS

دوره 20  شماره 

صفحات  -

تاریخ انتشار 2014